project(hot-commons)

include_directories(include)

set(NAMESPACE hot/commons)
set(HDR_NAMESPACE ${CMAKE_CURRENT_SOURCE_DIR}/include/${NAMESPACE})

set(hot-commons-lib-HEADERS ${hot-commons-lib-HEADERS} ${HDR_NAMESPACE}/Algorithms.hpp)
set(hot-commons-lib-HEADERS ${hot-commons-lib-HEADERS} ${HDR_NAMESPACE}/BiNode.hpp)
set(hot-commons-lib-HEADERS ${hot-commons-lib-HEADERS} ${HDR_NAMESPACE}/BitMask32.hpp)
set(hot-commons-lib-HEADERS ${hot-commons-lib-HEADERS} ${HDR_NAMESPACE}/BiNodeInformation.hpp)
set(hot-commons-lib-HEADERS ${hot-commons-lib-HEADERS} ${HDR_NAMESPACE}/BiNodeInterface.hpp)
set(hot-commons-lib-HEADERS ${hot-commons-lib-HEADERS} ${HDR_NAMESPACE}/DiscriminativeBit.hpp)
set(hot-commons-lib-HEADERS ${hot-commons-lib-HEADERS} ${HDR_NAMESPACE}/EntriesRange.hpp)
set(hot-commons-lib-HEADERS ${hot-commons-lib-HEADERS} ${HDR_NAMESPACE}/PartialKeyConversionInformation.hpp)
set(hot-commons-lib-HEADERS ${hot-commons-lib-HEADERS} ${HDR_NAMESPACE}/InsertInformation.hpp)
set(hot-commons-lib-HEADERS ${hot-commons-lib-HEADERS} ${HDR_NAMESPACE}/MultiMaskPartialKeyMapping.hpp)
set(hot-commons-lib-HEADERS ${hot-commons-lib-HEADERS} ${HDR_NAMESPACE}/MultiMaskPartialKeyMappingInterface.hpp)
set(hot-commons-lib-HEADERS ${hot-commons-lib-HEADERS} ${HDR_NAMESPACE}/NodeAllocationInformation.hpp)
set(hot-commons-lib-HEADERS ${hot-commons-lib-HEADERS} ${HDR_NAMESPACE}/NodeAllocationInformations.hpp)
set(hot-commons-lib-HEADERS ${hot-commons-lib-HEADERS} ${HDR_NAMESPACE}/NodeMergeInformation.hpp)
set(hot-commons-lib-HEADERS ${hot-commons-lib-HEADERS} ${HDR_NAMESPACE}/NodeType.hpp)
set(hot-commons-lib-HEADERS ${hot-commons-lib-HEADERS} ${HDR_NAMESPACE}/NodeParametersMapping.hpp)
set(hot-commons-lib-HEADERS ${hot-commons-lib-HEADERS} ${HDR_NAMESPACE}/PartialKeyMappingBase.hpp)
set(hot-commons-lib-HEADERS ${hot-commons-lib-HEADERS} ${HDR_NAMESPACE}/PartialKeyMappingHelpers.hpp)
set(hot-commons-lib-HEADERS ${hot-commons-lib-HEADERS} ${HDR_NAMESPACE}/SearchResultForInsert.hpp)
set(hot-commons-lib-HEADERS ${hot-commons-lib-HEADERS} ${HDR_NAMESPACE}/SingleMaskPartialKeyMapping.hpp)
set(hot-commons-lib-HEADERS ${hot-commons-lib-HEADERS} ${HDR_NAMESPACE}/SingleMaskPartialKeyMappingInterface.hpp)
set(hot-commons-lib-HEADERS ${hot-commons-lib-HEADERS} ${HDR_NAMESPACE}/SIMDHelper.hpp)
set(hot-commons-lib-HEADERS ${hot-commons-lib-HEADERS} ${HDR_NAMESPACE}/SparsePartialKeys.hpp)

add_library(hot-commons-lib INTERFACE)
target_sources(hot-commons-lib INTERFACE ${hot-commons-lib-HEADERS})
target_include_directories(hot-commons-lib INTERFACE "${PROJECT_SOURCE_DIR}/include")
target_link_libraries(hot-commons-lib INTERFACE content-helpers-lib)

